/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.jomijushi.fid.dao;

import com.jomijushi.fid.dominio.FidRolTrabajador;
import java.util.List;
import javax.persistence.Query;

/**
 *
 * @author Jorge Valverde Rebaza
 */
public class RolTrabajadorImplementsDAO extends JpaDao<Integer, FidRolTrabajador> implements RolTrabajadorInterfazDAO{

    // INICIO: Implementacion de funciones adicionales al CRUD genérico

    // Función para lista Roles de Trabajadores
    /* Parametros:
       consulta= se ingresa una consulta jpql
       band= permite que la consulta jpql sea usada cuando es true y no cuando es false
       todo= si es true muestra todos los datos de la consulta y es false hace paginado
       tope= funciona si 'todo' es false, es el limite de elementos a mostrar
       desde= funciona si 'todo' es false, posicion desde donde inicia a mostrar las tope consultas
    */
    public List<FidRolTrabajador> listarRolTrabajador(boolean band,String consulta, boolean todo, int tope, int desde)
    {
        if(!band){  // en caso no s haya ingresado una consulta jpql band=false
            consulta="select object(o) from FidRolTrabajador as o";
        }
        Query q = entityManager.createQuery(consulta);
        if (!todo) {// esto nos permitira hacer una paginación
            q.setMaxResults(tope);
            q.setFirstResult(desde);
        }
        return q.getResultList();
    }


    
}